function ajax(url){
    return new Promise( (resolve,reject) => {
        let xhr = new XMLHttpRequest()
        xhr.open("get",url,true)
        xhr.send(null)
        xhr.onreadystatechange = () => {
            if(xhr.readyState == 4 && xhr.status == 200){
                resolve(xhr.response)
            }
        }
    })
}

// ajax("/list").then( (res) => {
//     console.log(JSON.parse(res))
//     return ajax("/uid?id=2")
// }).then((res) => {
//     console.log(JSON.parse(res))
// })

// Promise.all([ajax("/list"),ajax("/uid?id=5")]).then((res) => {
//     console.log(res)
// },(err) => {
//     console.log(err)
// }).catch(error => { 
//     console.log(error)
// })

// async function fun(){
//    let list = await Promise.all([ajax("/list"),ajax("/uid?id=5")])
//    try{
//         await Promise.reject("err")
//    }catch(e){
        
//    }
//     return list
// }
// fun().then(res => {
//     console.log(res)
// })

const car = [
    {
        groupName:'水果',
        type:[
            {
                name:'苹果',
                price:10
            },
            {
                name:'橘子',
                price:40
            },
            {
                name:'香蕉',
                price:90
            }
        ]
    },
    {
        groupName:'蔬菜',
        type:[
            {
                name:'芹菜',
                price:10
            },
            {
                name:'菠菜',
                price:15
            },
            {
                name:'土豆',
                price:8
            }
        ]
    },
    {
        groupName:'荣耀',
        type:[
            {
                name:'芹菜',
                price:1011
            },
            {
                name:'菠菜',
                price:15
            },
            {
                name:'土豆',
                price:8
            }
        ]
    }
]
// 根据上述数据，编写一个函数，该函数(computedPrice)接收上述的数据作为参数，返回一个对象，请输入用数组的reduce方法实现。对象的格式如下
function Sum(total,num){    
    return total+num
}
//[2,,1,3,5].redulce()
function computedPrice(car){
    let group = []
    let all = []
    car.forEach((ele,i) => {
            let arr1 = []
            ele.type.forEach(item => {
                arr1.push(item.price)
            })
            group.push({typeName:ele.groupName,price:arr1.reduce(Sum,0)})
        
    });
    group.forEach(ele => {
        all.push(ele.price)
    })
    let obj = {allPrice:all.reduce(Sum,0),group:group}
    return obj
}
console.log(computedPrice(car))

// const allmoni = {
//     allPrice:所有商品的总价格,
//     group:[
//         {
//             typeName:'水果',
//             price:所有水果的总价格
//         },
//         {
//             typeName:'蔬菜',
//             price:所有蔬菜的总价格
//         }
//     ]
// } 
